#include "intreg.h"
int i=-1;
void Intreg::addEl(double nr){
	sir[++i]=nr;
}
bool Intreg::apartine(int k)const{
	if(k<=i && k>=0)
			return true;
	return false;
}
std::ostream& operator<<(std::ostream& out,Intreg& right){
	for(int it=0;it<=i;it++)
		out<<right.sir[it]<<"\n";

}
void Intreg::sort(int k){
if(apartine(k))
	{
		sortDescrescator(k);
		sortCrescator(k);
	}
else
		sortDescrescator();
}
void Intreg::sortDescrescator(int n){
  int x,j;
	double aux; 
  for (x=1;x<n;x++)
    { 
      j=x; 
      while(j>0&&(*this).sir[j-1]<(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
void Intreg::sortCrescator(int n){
  int x,j;
	double aux; 
  for (x=n+1;x<=i;x++)
    { 
      j=x; 
      while(j>0&&(*this).sir[j-1]>(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
void Intreg::sortDescrescator(){
  int x,j;
	double aux; 
  for (x=1;x<=i;x++)
    { 
      j=x; 
      while(j>0&&(*this).sir[j-1]<(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
